package com.hutao.medical.service;

import java.text.ParseException;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.hutao.medical.pojo.audit.AuditDetail;
import com.hutao.medical.pojo.dto.MedicalSearchQuery;
import com.hutao.medical.query.AuditQuery;
import com.hutao.medical.query.MedRecordQuery;

public interface MedRecordAuditService {

	/**
	 * 根据条件检索病案查询信息
	 * @param medicalSearchQuery
	 * @return
	 */
	List<Map<String,Object>> selectMedicalRecordRetrievaList(MedicalSearchQuery medicalSearchQuery);
	/**
	 * 查询病案数量
	 * @param medicalSearchQuery
	 * @return
	 */
	int selectMedicalRecordRetrievaCount(MedicalSearchQuery medicalSearchQuery);
	
	/**
	 * 查询主要诊断审核
	 * @param medicalSearchQuery
	 * @return
	 */
	//List<Map<String,Object>> getMainDieaseAudit(MedicalSearchQuery medicalSearchQuery);
	
	
	/**
	 * 查询主要诊断审核总数量
	 * @param medicalSearchQuery
	 * @return
	 */
	//int getMainDieaseAuditCount(MedicalSearchQuery medicalSearchQuery);
	
	/**
	 * 出生日期审核 分页
	 * @param medicalSearchQuery
	 * @return
	 */
	//List<Map<String, Object>> getApprovalDateBirthPage(MedicalSearchQuery medicalSearchQuery);
	
	/**
	 * 出生日期审核 总记录数
	 * @param medicalSearchQuery
	 * @return
	 */
	//long getApprovalDateBirthCount(MedicalSearchQuery medicalSearchQuery);
	
	/**
	 * 住院费用审核 分页
	 * @param medicalSearchQuery
	 * @return
	 */
	//List<Map<String, Object>> getHospitalFeesAuditPage(MedicalSearchQuery medicalSearchQuery);
	
	/**
	 * 住院费用审核 总记录数
	 * @param medicalSearchQuery
	 * @return
	 */
	//long getHospitalFeesAuditCount(MedicalSearchQuery medicalSearchQuery);

	//List<Map<String, Object>> exportMedRecordInfoToExcel(MedicalSearchQuery medicalSearchQuery);

	//List<Map<String, Object>> exportMainAuditToExcel(MedicalSearchQuery medicalSearchQuery);
	
	//List<Map<String, Object>> exportInHospitalMoneyauditToExcel(MedicalSearchQuery medicalSearchQuery);
	
	//导出出生日期到excel
	//List<Map<String, Object>> exportDateofbirthAuditToExcel(MedicalSearchQuery medicalSearchQuery);
	
	//导出病案返修查询到excel
	//List<Map<String, Object>> exportMedFileReworkToExcel(MedicalSearchQuery medicalSearchQuery);
	
	
	
	/**
	 * 查询自动审核信息
	 * @param auditQuery
	 * @return
	 * @throws ParseException 
	 */
	void getAutoAuditList(List<String> firstGuidList) throws ParseException;
	/**
	 * 日期审核
	 * @param auditQuery
	 * @return
	 * @throws ParseException 
	 */
	//List<AuditDetail> getMedDateAuditList(AuditQuery auditQuery) throws ParseException;
	
	/**
	 * 主要诊断审核
	 * @param auditQuery
	 * @return
	 */
	//List<AuditDetail> getMainDiagnosisAudit(AuditQuery auditQuery);
	
	/**
	 * 手术审核
	 * @param auditQuery
	 * @return
	 * @throws ParseException 
	 */
	//List<AuditDetail> getOperationAudit(AuditQuery auditQuery) throws ParseException;
	
	/**
	 * 查询firstGuidsList
	 * @param auditQuery
	 * @return
	 */
	List<String> getFirstGuidList(MedRecordQuery medRecordQuery);
	
	/**
	 * 查询审核错误信息
	 * @param auditQuery
	 * @return
	 */
	Map<String,Object> getMedicalAuditErrorList(MedRecordQuery medRecordQuery);
	
	/**
	 * 
	 * @param auditQuery
	 */
	void manualAddMedicalModify(AuditQuery auditQuery);
	
	List<Map<String,Object>> getMedicalErrorByFirstGuid(String firstGuid);
	
	void deleteMedicalModify(Integer medicalErrorId);
	
	/**
     * 查询返修firstGuidList
     * @param auditQuery
     * @return
     */
	 List<String> getMedicalModifyFirstGuidList(AuditQuery auditQuery);
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
}
